package cn.yx.common.core.pojo.singletable;

import cn.yx.common.core.pojo.base.BaseVo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * <p>单表对应的VO输出基类</p>
 *
 * @author Wgssmart
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "SingleOutVo", description = "单表对应的VO输出对象")
public class SingleOutVo extends BaseVo {

    /**
     * 主键ID，编号，如果使用雪花算法生成ID，返回前端后JS丢失精度，可序列化成字符串
     */
    @ApiModelProperty(value = "ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 版本号
     */
    @ApiModelProperty(value = "版本号", example = "1")
    private Integer version;

    /**
     * 是否激活，0否1是
     */
    @ApiModelProperty(value = "是否激活，0否1是", example = "1")
    private Byte isActive;

    /**
     * 创建人ID
     */
    @ApiModelProperty(value = "创建人ID")
    private Long createBy;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", example = "2022-12-07 12:00:00")
    private Date createTime;

    /**
     * 更新人ID
     */
    @ApiModelProperty(value = "更新人ID")
    private Long updateBy;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间", example = "2022-12-07 12:00:00")
    private Date updateTime;

}
